package com.fzy.modules.bill.entity;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.util.Date;

/***
 * 采购订单入库
 */
public class PoBillDetail {
    private String id;
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date dateCreated;//制单时间
    private String goodsId;//商品id
    private Integer goodsCount;//采购数量
    private Double goodsMoney;//采购金额
    private Double goodsPrice;//采购单价
    private String pobillId;//采购订单id
    private Double taxRate;//税率
    private Double tax;//税金
    private Double moneyWithTax;//价税合计
    private Integer pwCount;//入库数量
    private Integer  leftCount;//未入库数量
    private Integer  showOrder;
    private String dataOrg;
    private String companyId;//公司id
    private String  memo;//备注

    public PoBillDetail() {
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getGoodsId() {
        return goodsId;
    }

    public void setGoodsId(String goodsId) {
        this.goodsId = goodsId;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        PoBillDetail that = (PoBillDetail) o;

        if (!dateCreated.equals(that.dateCreated)) return false;
        if (!goodsId.equals(that.goodsId)) return false;
        if (!goodsCount.equals(that.goodsCount)) return false;
        if (!goodsMoney.equals(that.goodsMoney)) return false;
        if (!goodsPrice.equals(that.goodsPrice)) return false;
        if (!pobillId.equals(that.pobillId)) return false;
        if (!taxRate.equals(that.taxRate)) return false;
        if (!tax.equals(that.tax)) return false;
        if (!moneyWithTax.equals(that.moneyWithTax)) return false;
        if (!pwCount.equals(that.pwCount)) return false;
        if (!leftCount.equals(that.leftCount)) return false;
        if (!showOrder.equals(that.showOrder)) return false;
        if (!dataOrg.equals(that.dataOrg)) return false;
        if (!companyId.equals(that.companyId)) return false;
        return memo.equals(that.memo);
    }

    @Override
    public int hashCode() {
        int result = dateCreated.hashCode();
        result = 31 * result + goodsId.hashCode();
        result = 31 * result + goodsCount.hashCode();
        result = 31 * result + goodsMoney.hashCode();
        result = 31 * result + goodsPrice.hashCode();
        result = 31 * result + pobillId.hashCode();
        result = 31 * result + taxRate.hashCode();
        result = 31 * result + tax.hashCode();
        result = 31 * result + moneyWithTax.hashCode();
        result = 31 * result + pwCount.hashCode();
        result = 31 * result + leftCount.hashCode();
        result = 31 * result + showOrder.hashCode();
        result = 31 * result + dataOrg.hashCode();
        result = 31 * result + companyId.hashCode();
        result = 31 * result + memo.hashCode();
        return result;
    }

    public Date getDateCreated() {
        return dateCreated;
    }

    public void setDateCreated(Date dateCreated) {
        this.dateCreated = dateCreated;
    }

    public Integer getGoodsCount() {
        return goodsCount;
    }

    public void setGoodsCount(Integer goodsCount) {
        this.goodsCount = goodsCount;
    }

    public Double getGoodsMoney() {
        return goodsMoney;
    }

    public void setGoodsMoney(Double goodsMoney) {
        this.goodsMoney = goodsMoney;
    }

    public Double getGoodsPrice() {
        return goodsPrice;
    }

    public void setGoodsPrice(Double goodsPrice) {
        this.goodsPrice = goodsPrice;
    }

    public String getPobillId() {
        return pobillId;
    }

    public void setPobillId(String pobillId) {
        this.pobillId = pobillId;
    }

    public Double getTaxRate() {
        return taxRate;
    }

    public void setTaxRate(Double taxRate) {
        this.taxRate = taxRate;
    }

    public Double getTax() {
        return tax;
    }

    public void setTax(Double tax) {
        this.tax = tax;
    }

    public Double getMoneyWithTax() {
        return moneyWithTax;
    }

    public void setMoneyWithTax(Double moneyWithTax) {
        this.moneyWithTax = moneyWithTax;
    }

    public Integer getPwCount() {
        return pwCount;
    }

    public void setPwCount(Integer pwCount) {
        this.pwCount = pwCount;
    }

    public Integer getLeftCount() {
        return leftCount;
    }

    public void setLeftCount(Integer leftCount) {
        this.leftCount = leftCount;
    }

    public Integer getShowOrder() {
        return showOrder;
    }

    public void setShowOrder(Integer showOrder) {
        this.showOrder = showOrder;
    }

    public String getDataOrg() {
        return dataOrg;
    }

    public void setDataOrg(String dataOrg) {
        this.dataOrg = dataOrg;
    }

    public String getCompanyId() {
        return companyId;
    }

    public void setCompanyId(String companyId) {
        this.companyId = companyId;
    }

    public String getMemo() {
        return memo;
    }

    public void setMemo(String memo) {
        this.memo = memo;
    }
}
